package com.chuangjiangx.member.basic.ddd.domain.model;


import com.chuangjiangx.member.basic.ddd.domain.model.MbrSourceTerminal;
import com.chuangjiangx.member.basic.ddd.domain.model.MerchantId;
import com.chuangjiangx.member.basic.ddd.domain.model.MerchantUserId;
import com.chuangjiangx.member.basic.ddd.domain.model.StoreId;
import com.chuangjiangx.member.basic.ddd.domain.model.StoreUserId;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/**
 * 会员操作人员、设备的信息
 */
@Getter
@Setter
@NoArgsConstructor
public class OperationInfo {

    /**
     * 商户id
     */
    private MerchantId merchantId;

    /**
     * 门店id
     */
    private StoreId storeId;

    /**
     * 操作人员id
     */
    private StoreUserId storeUserId;

    /**
     * 操作的终端类型
     */
    private MbrSourceTerminal terminalType;

    /**
     * 终端标识号
     */
    private String terminalNum;

    /**
     * 商户注册用户id
     */
    private MerchantUserId merchantUserId;

    public OperationInfo(MerchantId merchantId, StoreId storeId, StoreUserId storeUserId,
                         MbrSourceTerminal terminalType, String terminalNum, MerchantUserId merchantUserId) {
        this.merchantId = merchantId;
        this.storeId = storeId;
        this.storeUserId = storeUserId;
        this.terminalType = terminalType;
        this.terminalNum = terminalNum;
        this.merchantUserId = merchantUserId;
    }

    public MerchantId getMerchantId() {
        return merchantId;
    }

    public StoreId getStoreId() {
        return storeId;
    }

    public StoreUserId getStoreUserId() {
        return storeUserId;
    }

    public MbrSourceTerminal getTerminalType() {
        return terminalType;
    }

    public String getTerminalNum() {
        return terminalNum;
    }

    public MerchantUserId getMerchantUserId() {
        return merchantUserId;
    }
}
